package com.tencreat.domain.account;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tencreat.common.annotation.Excel;
import com.tencreat.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;


/**
 * 【请填写功能名称】对象 app_version
 *
 * @author mall
 * @date 2021-11-27
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
@TableName("app_version")
public class AppVersion extends BaseEntity<AppVersion> {
    private static final long serialVersionUID = 1L;


    /** $column.columnComment */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "ID")
    private Long id;


    /** 版本号 */
    @Excel(name = "版本号")
    @ApiModelProperty(value= "版本号")
    @TableField("`version_code`")
    private Long versionCode;


    /** 版本名称 */
    @Excel(name = "版本名称")
    @ApiModelProperty(value= "版本名称")
    @TableField("`version_name`")
    private String versionName;


    /** 版本信息 */
    @Excel(name = "版本信息")
    @ApiModelProperty(value= "版本信息")
    @TableField("`version_info`")
    private String versionInfo;


    /** forcibly 强制， solicit非强制 */
    @Excel(name = "forcibly 强制， solicit非强制")
    @ApiModelProperty(value= "forcibly 强制， solicit非强制")
    @TableField("`update_type`")
    private String updateType;


    /** 下载地址 */
    @Excel(name = "下载地址")
    @ApiModelProperty(value= "下载地址")
    @TableField("`download_url`")
    private String downloadUrl;




    /** 删除标志（0代表存在 2代表删除） */
    @TableLogic
    @TableField("`del_flag`")
    private String delFlag;



    /** 租户ID */
    @Excel(name = "租户ID")
    @ApiModelProperty(value= "租户ID")
    @TableField("`tenant_id`")
    private Long tenantId;


    @ApiModelProperty(value= "搜索开始时间")
    @TableField(exist = false)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;

    @ApiModelProperty(value= "搜索结束时间")
    @TableField(exist = false)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
}
